home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 376-400 / disk_381 / sksh / addendum1.6.doc < prev    next >
Text File  |  1992-05-06  |  15KB  |  529 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                               Addendum for Version 1.6
  17.  
  18.                                         SKsh
  19.  
  20.                            A ksh-like Shell for the Amiga
  21.  
  22.                                      Version 1.6
  23.  
  24.  
  25.                                (Copyright) 1989, 1990
  26.  
  27.                                      Steve Koren
  28.  
  29.                                    October 4, 1990
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.           Addendum to Version 1.6
  74.  
  75.             This  document  describes  additions and changes to SKsh  since
  76.             version 1.6.  1.6 is a  "small"  release; there are several new
  77.             features, but  nothing "significant".  This release is intended
  78.             mainly to fix  several bugs in 1.5, and to add a few minor fea-
  79.             tures (such  as  command line cut and paste).  I am making this
  80.             a "small" release for the following reasons:
  81.  
  82.                * I wanted to get  it  distributed as soon as possible after
  83.                  1.5 to  fix  the  "+C"  file  completion bug and the ARexx
  84.                  port bug described below.
  85.  
  86.                * I  am  currently too busy to do another major release in a
  87.                  reasonable time; this will help bridge the  gap  until the
  88.                  next major release.
  89.  
  90.                * I am  changing addresses and wanted to get the new contact
  91.                  address in this version.  See the MiscInfo.doc manual  for
  92.                  details.
  93.  
  94.  
  95.             The following are changes since SKsh 1.5:
  96.  
  97.             cilist command added
  98.  
  99.                A  new  cilist  command, similar to the dwclist and complist
  100.                commands, has been added.   It  contains SKsh patterns which
  101.                will  be  ignored by the file completion mechanism.  For ex-
  102.                ample,  if  this  list  contained '*.bak' and "*.info",  all
  103.                .bak and .info files would  be  ignored for file completion.
  104.                Any  pattern may  be  used,  and  the  '/'  character is not
  105.                treated specially.
  106.  
  107.                When  adding  patterns to the cilist, they must be quoted to
  108.                avoid  being  interpreted by the shell.  Another solution is
  109.                to add  the  cilist command to the dwclist, which allows the
  110.                wildcards to be passed on unexpanded.
  111.  
  112.                This  command  is  described in more detail in the reference
  113.                manual.  Please see that document for details.
  114.  
  115.  
  116.             'r' added as synonym for 'd' in complist, dwclist, cilist
  117.  
  118.                It  was  previously  difficult to  remember whether 'r' (for
  119.                remove) was  used  in  the  above  commands, or 'd' (for de-
  120.                lete).  Both are  now  accepted, and remove the supplied ar-
  121.                guments from the indicated list.
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.           SKsh Amiga Shell             Page 2              Addendum to 1.6
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.             -q option added to crc command
  140.  
  141.                A  -q  option is now  accepted by the crc command.  This op-
  142.                tion  tells  crc not to  output the file names, but only the
  143.                redundancy code information.   This  option actually existed
  144.                in the 1.4 version, but was not documented.
  145.  
  146.  
  147.             +C File completion fixed
  148.  
  149.                There was a bug in SKsh 1.5 which  caused  filename  comple-
  150.                tion to break if the  +C  (complist) option was unset.  This
  151.                has been fixed.
  152.  
  153.  
  154.             ARexx port bug fixed
  155.  
  156.                A value in SKsh 1.5 was off by  several orders of magnitude,
  157.                causing  an  SKsh  invoked with an ARexx port  to  both  use
  158.                large amounts of CPU time, and to  cause  strange  side  ef-
  159.                fects in the system.  This has been fixed.
  160.  
  161.  
  162.             More keymapping functions added
  163.  
  164.                Several new  key  map  functions have been added, including:
  165.                ISM  (insert mode), OVS (overstrike mode), PIO (previous in-
  166.                sert/overstrike mode), YNK  (yank),  CEL  (copy  to  end  of
  167.                line), and ERC (explicitly set repeat count).
  168.  
  169.  
  170.             Esc-# macro fixed
  171.  
  172.                The  Esc-#  (comment out line) macro  previously worked only
  173.                in  insert mode.  In overstrike mode,  it  would  erase  the
  174.                first  character of the line.  It now uses  the  new  keymap
  175.                functions  mentioned  above  to  operate correctly in either
  176.                insert or overstrike mode.
  177.  
  178.  
  179.             Touch bug fixed
  180.  
  181.                The  touch  command would previously update the datestamp of
  182.                a file only if the file was in the  current directory.  This
  183.                has been fixed.
  184.  
  185.  
  186.             cp bug fixed
  187.  
  188.                A  similar  datestamp bug in "cp" has been fixed; files cop-
  189.                ied  to   other   directories  now  correctly  retain  their
  190.                datestamp.   This  makes  the  "-u"  (update) option to "cp"
  191.                much more useful.
  192.  
  193.  
  194.  
  195.           SKsh Amiga Shell             Page 3              Addendum to 1.6
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.             head command now accepts multiple arguments
  207.  
  208.                The  head command previously ignored multiple arguments.  It
  209.                no longer does this.
  210.  
  211.  
  212.             line truncation problem fixed
  213.  
  214.                Certain  commands,  such  as  "history" and  "set"  truncate
  215.                their  output to the width  of  the  window.   However, they
  216.                were  incorrectly truncating the output even if it was redi-
  217.                rected to a file or variable.  This no longer  happens; they
  218.                output the full line width in these cases.
  219.  
  220.  
  221.             tail buffer size change
  222.  
  223.                If  the  output  of  the  tail command is to the console, it
  224.                will  output 80 byte records at a time instead of the previ-
  225.                ous  16K.   This   allows the  output to be stopped from the
  226.                console device.  It will still use 16K  blocks  to  increase
  227.                performance if the output is directed to a file.
  228.  
  229.             tail character 0 bug fixed
  230.  
  231.                If  the  1.5  tail command was given an argument larger than
  232.                the  number of lines in the file, the first  character would
  233.                be omitted.  This no longer happens.
  234.  
  235.  
  236.             INTERACTIVE variable added
  237.  
  238.                A  variable has been  added  which  can  be  used  to  check
  239.                whether  the  current SKsh invocation is an interactive one.
  240.                This is in  preparation for a change in the invocation model
  241.                to take place in SKsh 1.7.   Please  see  the  Reference.doc
  242.                entry  for  the  INTERACTIVE  variable  for  details on this
  243.                change.  It  will  become important to understand the INTER-
  244.                ACTIVE  variable in SKsh 1.7;  I  am  adding it now to avoid
  245.                making a change in the invocation model suddenly.
  246.  
  247.  
  248.             find external command added
  249.  
  250.                A  find  command,  similar to the  Un*x  command of the same
  251.                name, has been added as  an  external binary.  Find has many
  252.                options, including the following:
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.           SKsh Amiga Shell             Page 4              Addendum to 1.6
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.                  -name pattern       find files matching pattern
  272.                  -path pattern       similar to -name but for paths
  273.                  -comment pattern    files who's comment matches pattern
  274.                  -type { d | f }     limit to directories or files
  275.                  -depth              perform depth first search
  276.                  -case               make pattern matching case sensitive
  277.                  -exec command       files for which cmd returns true
  278.                  -cmd command        generate command list for (any) shell
  279.                  -hidden             include "hidden" files
  280.                  -blocks n           files n blocks in size
  281.                  -bigger n           files n bytes or bigger
  282.                  -smaller n          files n bytes or smaller
  283.                  -quiet              don't print unreadable file errors
  284.                  -newer file         files newer than given file
  285.                  -newer date [time]  files newer than given date/time
  286.                  -older file         files older than given file
  287.                  -older date [time]  files older than given date/time
  288.                  -print              print matching file names
  289.                  -ver                print the version of find
  290.  
  291.                Options can be  combined; for example, to find all files un-
  292.                der the /usr tree larger than 10000 bytes but  smaller  than
  293.                50000 bytes and which contain the string "mytext":
  294.  
  295.                  find /usr -type f -bigger 10000 -smaller 50000 \
  296.                       -exec "sys:bin/fgrep -ls mytext %s" -print
  297.  
  298.                Or, to find  all  files  under the /usr or /misc trees newer
  299.                than 20-Aug-90 and  who's  file  comment contains the string
  300.                "foo" and ends in a "Z":
  301.  
  302.                  find /usr /misc -newer 20-aug-90 -comment '*foo*Z' -print
  303.  
  304.                I  believe this find is one of the more complete ones avail-
  305.                able for the Amiga.   The  find command is described in much
  306.                more  detail in the ExtCmds.doc manual.  Please see the  en-
  307.                try there for more information.
  308.  
  309.  
  310.             New option flag added
  311.  
  312.                A new "H"  option has been added which prints lines executed
  313.                with  any  of  the  "history -e" style mechanisms (which in-
  314.                clude "!" and "!!").  If there  are  commands in the history
  315.                list  which  produce no visible action, the "H" option makes
  316.                it easy to see what has been executed.
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.           SKsh Amiga Shell             Page 5              Addendum to 1.6
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.             [class] bug fixed
  338.  
  339.                A  problem with using [] style classes at the beginning of a
  340.                wildcard  pattern has  been  fixed.   For  example, "[a-h]*"
  341.                would  previously not work as a wildcard  pattern, but "*[a-
  342.                h]" would.   They  both  work  correctly now.  Note that you
  343.                must  surround  the  '['  character by spaces if you wish to
  344.                use it as a separate token in a test expression.
  345.  
  346.  
  347.             -f option added to rm command
  348.  
  349.                The  rm  command now accepts an "f" (force) flag.  If given,
  350.                rm will  effectively do a "chmod +wd" on each file or direc-
  351.                tory  before deletion.  This stops "rm" from  issuing an er-
  352.                ror if some files did not have delete permission.
  353.  
  354.  
  355.             Minimum stack size downgraded to 6K
  356.  
  357.                The  minimum  acceptable stack size is now 6K instead of the
  358.                previous 10K.
  359.  
  360.  
  361.             rm and rmdir now accept trailing "/"
  362.  
  363.                The  rm  and  rmdir commands now accept a trailing slash for
  364.                directory names.   This  is  useful, as file completion puts
  365.                one there automatically.
  366.  
  367.  
  368.             New variables added
  369.  
  370.                There   previously   existed   variables   named   "_DIR_S",
  371.                "_DIR_E",  etc,  which  controlled the  display of files and
  372.                directories  by  the  ls  command with the -F option.  Since
  373.                these  variables could be set  to  either printing sequences
  374.                (such as  a  "/"  at  the  end  of  directory names), or non
  375.                printing  sequences (such as $_ANSI_P2),  there  was  previ-
  376.                ously  no  way  for  "ls"  to  determine the actual printing
  377.                length of the filename and  special characters.  Occasionaly
  378.                odd  effects would show up  if  these  variables were set to
  379.                printing sequences.   (For  example, blank lines would often
  380.                be printed).  Three new  variables have been added to handle
  381.                this problem.  "_DIR_L" stores  the  displayed length of the
  382.                _DIR_S and  _DIR_E  variables; _EXEC_L and _FILE_L act simi-
  383.                larly for  executables and files.  The concept is similar to
  384.                the PNPC variable.
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.           SKsh Amiga Shell             Page 6              Addendum to 1.6
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.             srun reports errors and unlocks files
  404.  
  405.                The  srun command previously did not report an error message
  406.                if it  could  not  execute the given file, or could not open
  407.                the  input  or  output files.  It will now  correctly report
  408.                these  error conditions.  It will  also  unlock any files it
  409.                has  opened  if  an  error is  encountered; this will enable
  410.                those files to be deleted later.
  411.  
  412.  
  413.             mplist command added
  414.  
  415.                An  mplist  command has been  added  which  allows a limited
  416.                form of filename mapping.   A  number of users had asked for
  417.                the  ability to, for  example, map "/dh1/myfile" to "dh1:my-
  418.                file".   This  command allows such mappings to be performed,
  419.                but in  a  limited manner.  It is only a stopgap measure un-
  420.                til  AmigaDos  supports  symbolic  links.   Please  see  the
  421.                Reference.doc entry for details.
  422.  
  423.  
  424.             info command output extended
  425.  
  426.                The  info  command  now  reports the disk state (read/write,
  427.                read only, etc) in the report for each device.
  428.  
  429.  
  430.             mv command resets archive bits
  431.  
  432.                The  mv  command now resets archive bits on files which have
  433.                been moved.
  434.  
  435.  
  436.           A word about .skshinit vs .skshrc
  437.  
  438.             A few people  have  been  confused about the difference between
  439.             these two  files.   The  difference is that .skshinit is for my
  440.             use, and .skshrc is for yours.  All  user  modifications should
  441.             go in .skshrc.  That way,  when  I  supply a new .skshinit file
  442.             with each  release, it won't overwrite your customizations, and
  443.             you won't have  to  manually merge the two.  The .skshrc file I
  444.             have  shipped  since  the  first  release is trivial and is in-
  445.             tended  as  an  example to be  appended to.  You do not need to
  446.             re-install  it  after each release; you can simply use your old
  447.             version.
  448.  
  449.             The .skshrc file sourced  after the .skshinit file when SKsh is
  450.             started.  That way, you can  override or re-define things which
  451.             are set up by .skshinit.  The new .skshinit file  I  supply (or
  452.             the .pp form) should be re-installed after each release.
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.           SKsh Amiga Shell             Page 7              Addendum to 1.6
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.           Misc. Notes
  470.  
  471.             Don't  forget that you will  have  to  regenerate any .pp files
  472.             which  you  produced with SKsh 1.5.  This includes .pp versions
  473.             of your .skshrc file.  Old  versions will not run and will gen-
  474.             erate  an  error  message from SKsh.  The Check_1.6.sksh script
  475.             should be used  to  check  the  installation of this version of
  476.             SKsh.
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.           SKsh Amiga Shell             Page 8              Addendum to 1.6
  526.  
  527.  
  528.  
  529.